﻿using Authority.DataTransferObject.ActionAuthority;
using Authority.IServices.Model.Action;
using HelperFromTheSkeleton.Model.PageModel;

namespace Authority.IServices
{
    /// <summary>
    /// 功能权限服务
    /// </summary>
    public interface IActionAuthorityService
    {
        /// <summary>
        /// 新增功能权限
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task AddAsync(AddActionModel model);

        /// <summary>
        /// 修改功能权限
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task EditAsync(EditActionModel model);

        /// <summary>
        /// 删除功能权限
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task DeleteAsync(Guid id);

        /// <summary>
        /// 获取功能权限
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<List<ActionAuthoritytDTO>> GetAsync(List<Guid> id);

        /// <summary>
        /// 查询共嗯权限
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<(List<ActionAuthorityListDTO>, PageResultModel)> QueryAsync(QueryActionModel model);
    }
}